package ntp3;

import presentation.DistributionDisplayer;
import logic.hashfunctions.HashFunction0;
import logic.hashfunctions.HashFunction1;
import logic.hashfunctions.HashFunction2;
import data.Dictionary;
import data.DictionaryHolder;

public class Main {
	
	public static final String basicDictionaryPath = "resources/linux.words";
	public static final String extraDictionaryPath = "resources/extra.words";
	
	/**
	 * TODO:
	 * 
	 * -uwzglednic rozwiazywanie kolizji w funkcjach haszujacych
	 * 
	 */
	
	public static void main(String[] args) {
		
		DictionaryHolder dictionariesHolder = new DictionaryHolder();
		
		Dictionary dictionaryHash0 = new Dictionary("hash0", basicDictionaryPath, new HashFunction0());
		Dictionary dictionaryHash1 = new Dictionary("hash1", basicDictionaryPath, new HashFunction1());
		Dictionary dictionaryHash2 = new Dictionary("hash2", basicDictionaryPath, new HashFunction2());
				
		dictionariesHolder.putDictionary(dictionaryHash0);
		dictionariesHolder.putDictionary(dictionaryHash1);
		dictionariesHolder.putDictionary(dictionaryHash2);
		
		DistributionDisplayer.showDistributions(dictionariesHolder);
	}
}